package com.kayt.cyberBar.company.business.entity.po;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.*;


/**
 * The persistent class for the b_company_product_base database table.
 * 
 */
@Entity
@Table(name="b_company_product_base")
@NamedQuery(name="BCompanyProductBase.findAll", query="SELECT b FROM BCompanyProductBase b")
public class BCompanyProductBase implements Serializable {
	private static final long serialVersionUID = 1L;
	private Long id;
	private String statusCode;
	private String code;
	private String createTime;
	private String name;
	private String typeCode;
	private String searchKey;
	private String sequence;
	private String updateTime;
	private String standardTime;
	private String unitCountCode;
	
	private List<BCompanyProductBaseDesc> descList = new ArrayList<>();
	private List<BCompanyProductBasePic> picList = new ArrayList<>();
	private List<BCompanyProductBaseTag> tagList = new ArrayList<>();
	private List<BCompanyProductBaseType> typeList = new ArrayList<>();

	public BCompanyProductBase() {
	}


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}


	@Column(name="STATUS_CODE")
	public String getStatusCode() {
		return this.statusCode;
	}

	public void setStatusCode(String statusCode) {
		this.statusCode = statusCode;
	}


	public String getCode() {
		return this.code;
	}

	public void setCode(String code) {
		this.code = code;
	}
	

	@Column(name="TYPE_CODE")
	public String getTypeCode() {
		return typeCode;
	}


	public void setTypeCode(String typeCode) {
		this.typeCode = typeCode;
	}

	@Column(name="STANDARD_TIME")
	public String getStandardTime() {
		return standardTime;
	}


	public void setStandardTime(String standardTime) {
		this.standardTime = standardTime;
	}

	@Column(name="UNIT_COUNT_CODE")
	public String getUnitCountCode() {
		return unitCountCode;
	}


	public void setUnitCountCode(String unitCountCode) {
		this.unitCountCode = unitCountCode;
	}


	@Column(name="CREATE_TIME")
	public String getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}


	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}


	@Column(name="SEARCH_KEY")
	public String getSearchKey() {
		return this.searchKey;
	}

	public void setSearchKey(String searchKey) {
		this.searchKey = searchKey;
	}


	public String getSequence() {
		return this.sequence;
	}

	public void setSequence(String sequence) {
		this.sequence = sequence;
	}


	@Column(name="UPDATE_TIME")
	public String getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}


	@OneToMany(targetEntity = BCompanyProductBaseDesc.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true, mappedBy = "product")
	public List<BCompanyProductBaseDesc> getDescList() {
		return descList;
	}


	public void setDescList(List<BCompanyProductBaseDesc> descList) {
		this.descList = descList;
	}


	@OneToMany(targetEntity = BCompanyProductBasePic.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true, mappedBy = "product")
	public List<BCompanyProductBasePic> getPicList() {
		return picList;
	}


	public void setPicList(List<BCompanyProductBasePic> picList) {
		this.picList = picList;
	}


	@OneToMany(targetEntity = BCompanyProductBaseTag.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true, mappedBy = "product")
	public List<BCompanyProductBaseTag> getTagList() {
		return tagList;
	}


	public void setTagList(List<BCompanyProductBaseTag> tagList) {
		this.tagList = tagList;
	}


	@OneToMany(targetEntity = BCompanyProductBaseType.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true, mappedBy = "product")
	public List<BCompanyProductBaseType> getTypeList() {
		return typeList;
	}


	public void setTypeList(List<BCompanyProductBaseType> typeList) {
		this.typeList = typeList;
	}

}